const checkNum = (rule, value, callback) => {
  let reg = /^[0-9]+?$/
  if (!value) {
    return new Error('必填信息')
  } else if (!reg.test(value)) {
    callback(new Error('请输入正整数'))
  } else {
    callback()
  }
}

const checkMaxNum = (rule, value, callback) => {
  let reg = /^[0-9]+?$/
  if (!value) {
    return new Error('请输入0-1000之间的正整数数字')
  } else if (!reg.test(value)) {
    callback(new Error('请输入0-1000之间的正整数数字'))
  } else if (value < 0) {
    callback(new Error('请输入0-1000之间的正整数数字'))
  } else if (value > 1000) {
    callback(new Error('请输入0-1000之间的正整数数字'))
  } else {
    callback()
  }
}

export default {
  checkNum,
  checkMaxNum,
  install (Vue, options) {
    /**
     * 数组去重方法
     */
    Vue.prototype.unique = function (arr, idName) { // 根据唯一标识orderId来对数组进行过滤
      const res = new Map() // 定义常量 res,值为一个Map对象实例
      // 返回arr数组过滤后的结果，结果为一个数组   过滤条件是，如果res中没有某个键，就设置这个键的值为1
      return arr.filter((arr) => !res.has(arr[idName]) && res.set(arr[idName], 1))
    }
    /**
     * 获取省市县方法
     */
    // Vue.prototype.getAddress = function () {
    //   let url = '/resource/getResourse'
    //   this.$http.get(url)
    //     .then(function (res) {
    //       let datas = setAddress(res.data.data.data)
    //       console.log(this.address)
    //       return datas
    //     })
    //     .catch(function (error) {
    //       console.log(error)
    //     })
    // }
    /**
     * 设置地址
     */
    Vue.prototype.setAddress = function (datas) {
      let address = []
      datas.forEach(function (province) {
        // 省
        if (province && province.provinceCodeId) {
          let pro = {}
          pro['value'] = province.provinceCodeId
          pro['label'] = province.provinceName
          if (province.citys && province.citys.length > 0) {
            // 市
            pro['children'] = []
            province.citys.forEach(function (city) {
              if (city.cityCodeId) {
                let c = {}
                c['value'] = city.cityCodeId
                c['label'] = city.cityName
                // 区
                let regions = []
                if (city.regions && city.regions.length > 0) {
                  city.regions.forEach(function (region) {
                    if (region.regionCodeId) {
                      let reg = {}
                      reg['value'] = region.regionCodeId
                      reg['label'] = region.regionName
                      regions.push(reg)
                    }
                  })
                }
                c['children'] = regions
                pro['children'].push(c)
              }
            })
          }
          address.push(pro)
        }
      })
      return address
    }
  }
}
